1. Field of the Invention
The present invention relates to a data transmission scheme incorporating an automatic repeat request (ARQ) function in which the receiver side makes the re-transmission of the data portion originally transmitted with transmission errors to the transmitting side automatically.
2. Description of the Background Art
A typical data transmission system using the ARQ has a basic configuration as shown in FIG. 1, in which a transmission side data terminal 1 outputs the bit streams of the transmission data, which are them given to an ARQ transmitter 2. At the ARQ transmitter 2, the error detection codes such as the cyclic redundancy checking (CRC) codes are attached to the transmission data and resulting transmission signals in the ARQ frames are transmitted toward an ARQ receiver 4 on the reception side through a transmission path 3. Then, at the ARQ receiver 4, the presence of an error in each frame of the received signals is checked, and a re-transmission request signal is transmitted to the ARQ transmitter 2 whenever the error is detected. When there is no error detected in the received signals, the ARQ receiver 4 outputs the received data contained in the receive signals to a reception side data terminal 5, and transmits the successful reception signal to the ARQ transmitter 2.
Now, in the data transmission system using the conventional simple ARQ, the ARQ control data is attached to every re-transmission unit.
Namely, the transmission frame in the conventional simple ARQ scheme has a structure as shown in FIG. 1B, which comprises ARQ control data 6, transmission data 7, and error detection code 8, which are sequentially arranged in this order. Here, the ARQ control data 6 includes data for distinguishing the transmission and the re-transmission, and data for identifying the frame to be re-transmitted such as the frame number.
In the typical conventional simple ARQ scheme, the sequential timing chart for the data transmission operation appears as shown in FIG. 1C, which depicts an exemplary case of having an error in the second frame "2" and an error in its re-transmission frame as well. In this case, the transmission side transmits the transmission frames sequentially, starting from the first frame "1". At the reception side, the error detection code is decoded when each frame is received, and the presence of the error is checked. In a case no error is detected, it is regarded as correctly received, and an acknowledgement signal ACK accompanied by the frame number of the correctly received frame is returned to the transmission side. On the other hand, when the error is detected, a re-transmission request signal NAK (Negative Acknowledgement) accompanied by the frame number of the received error frame is returned to the transmission side. In response to this NAK signal, the transmission side re-transmits the frame specified by the frame number accompanying the NAK signal.
In an exemplary situation depicted in FIG. 1C, the re-transmission request signal NAK-2 for the second frame "2" is received at the transmission side while transmitting the fourth frame "4", so that the second frame "2" is re-transmitted immediately after the transmission of the fourth frame "4", and then the next fifth frame "5" is transmitted only after the re-transmission of the second frame "2". In this case, the error is also detected in the re-transmitted second frame "2", so that the re-transmission of this second frame "2" is requested again, and then the second frame "2" is finally received correctly by the re-re-transmission.
In this manner, in the conventional simple ARQ data transmission scheme, the ARQ control data 6 is attached to every frame which is a unit of re-transmission.
Now, there is another scheme called the hybrid ARQ type II scheme in which the transmission side which received the re-transmission request re-transmits the error correction code for the original data and the original data (i.e., the original frame itself) of the re-transmission requested frame alternately and repeatedly. In this hybrid ARQ type II scheme, the frame structure is similar as in a case of the simple ARQ scheme shown in FIG. 1B, which includes the ARQ control data, the transmission data, and the error detection code.
In this case of the hybrid ARQ type II scheme, the sequential timing chart for the data transmission operation appears as shown in FIG. 2, which depicts an exemplary case of having an error in the second frame "2" and an error in its re-transmission frame as well, just as in the case depicted in FIG. 1C. In this case, the transmission side transmits the transmission frames sequentially, starting from the first frame "1". At the reception side, the error detection code is decoded when each frame is received, and the presence of the error is checked. In a case no error is detected, it is regarded as correctly received, and an acknowledgement signal ACK accompanied by the frame number of the correctly received frame is returned to the transmission side. On the other hand, when the error is detected, a re-transmission request signal NAK accompanied by the frame number of the received error frame is returned to the transmission side, while this received error frame is stored in a memory along with its frame number.
When the re-transmission request signal NAK signal is received, the transmission side re-transmits the data correction code for the original data (e.g. the error correction code called the invertible code which has the same length as the original data) of the frame specified by the frame number accompanying the NAK signal in a case it is the (odd number)-th re-transmission for this frame, or the original data of this frame in a case it is the (even number)-th re-transmission for this frame. In an exemplary case depicted in FIG. 2, it is the first re-transmission for the second frame "2", so that the re-transmission frame "2'" is formed by attaching the ARQ control data and the error detection code to the error correction code of this frame "2", and this re-transmission frame "2'" is re-transmitted to the reception side.
When the re-transmission frame "2'" is received, the reception side reads out the error frame number from the ARQ control data in the re-transmission frame "2'", and then the presence of the error in the re-transmission frame "2'" is checked. In a case there is no error, the transmission data is recovered from the re-transmission frame "2'". Even in a case the data contained in the re-transmission frame "2'" is the error correction code for the original data, the reproduction of the data is possible by a prescribed operation as the error correction code having the same length as the original data is used. On the other hand, when the error is detected, the error correction operation is carried out by using the error frame "2" stored in the memory and the received re-transmission frame "2'", and then the error detection with the frame is carried out to check the result of the error correction operation. As a result, when there is no error within the frame, the error correction trial frame is adopted as the recovered frame "2", and the acknowledgement signal ACK for this frame "2" is returned to the transmission side. On the other hand, when there is an error within the frame even after the error correction operation, the error correction trial frame is not adopted as the recovered frame, and the error frame "2" stored in the memory is updated by the error re-transmission frame "2'" while the re-transmission request signal NAK for this frame "2" is returned to the transmission side again.
More specifically, in the exemplary situation depicted in FIG. 2, the operation proceeds as follows. First, when the re-transmission frame "2'" is received at the reception side, it is Judged that this is the re-transmission of the frame "2" from the ARQ control data in the re-transmission frame "2'". Then, the error detection within the re-transmission frame "2'" is carried out (S1 in FIG. 2). In this example, the error is detected by this error detection within the frame, so that the error correction is carried out (S2 in FIG. 2) by using the frame "2" stored in the memory and the received re-transmission frame "2'", and then the error detection within the frame is carried out (S3 in FIG. 2). In this example, the error is detected even after the error correction (NG in FIG. 2), so that the error correction trial frame is not adopted as the recovered frame, and the re-transmission frame "2'" is stored in the memory (S4 in FIG. 2) over the frame "2", while the re-transmission request signal NAK-2 for this frame "2" is returned to the transmission side again.
At the transmission side, when this NAK-2 is received, the original data of the frame "2" is re-transmitted as it is the second re-transmission for this frame "2". When this re-transmitted frame "2" is received, the reception side judges that this is the re-transmission of the frame "2", and carries out the error detection within the frame for this re-transmitted frame "2" (S5 in FIG. 2). In this example, no error is detected (OK in FIG. 2), so that the received re-transmitted frame "2" is adopted as the recovered frame "2" while the acknowledgement signal ACK-2 for this frame "2" is returned to the transmission side.
Thus, in this hybrid ARQ type II scheme, not just the original data but also the error correction code for the original data are used as the re-transmission data, so that there are cases in which the data can be recovered even when the re-transmission data itself contains an error. However, even in this hybrid ARQ type II scheme, the ARQ control data is attached to every frame which is a unit of re-transmission.
Now, there is another scheme for reducing the size of the unit for transmission without increasing the number of error detection codes, by attaching the error detection codes two dimensionally.
The signal processing procedure at the transmission side in this ARQ scheme using two dimensionally attached error detection codes is shown in FIG. 3. In this case, the transmission data 11A is sequentially divided into a number of blocks B1 to BN of the identical size, and the first error correction code CRC1 is attached to each of the divided blocks B1 to BN. Then, each block Bi is further divided into M pieces of sub-blocks Bsi1 to BsiM to form the transmission data matrix 11B in which an arrangement of the sub-blocks Bsi1 to BsiM in each block Bi defining a column and an arrangement of the blocks B1 to BN defining a row. In this context, each column of this transmission data matrix 11B is referred as a first group of sub-blocks, while each row of this transmission data matrix 11B is referred as a second group of sub-blocks in the following. Next, a second error correction code CRC2 is attached to each second group of sub-blocks in the transmission data matrix 11B to form a full transmission data matrix 11C. Finally, each transmission frame is formed by attaching the ARQ control data 6 to each row of the full transmission data matrix 11C, and the transmission signals 11D is formed by arranging a number of transmission frames in series.
The signal processing procedure at the reception side in this ARQ scheme using two dimensionally attached error detection codes is shown in FIGS. 4A and 4B. In this case, from the reception signals shown in FIG. 4A, the reception signal matrix shown in FIG. 4B similar to the full transmission data matrix 11C of FIG. 3 is constructed. Then, the error detection codes CRC1 and CRC2 are decoded to check the presence of the error in each column and each row. For instance, in the exemplary case depicted in FIG. 4B, the first error detection code CRC1 on the second column and the second error detection code CRC2 on the first row contain errors (NG in FIG. 4B), so that the sub-block Bs21 located at the intersection of these second column and first row is identified as the error sub-block. When the error is detected as such, the reception side returns the re-transmission request signal for this error sub-block to the transmission side, and in response, the transmission side re-transmits the sub-block along with the ARQ control data. On the other hand, when there is no error, it is regarded as correctly received, and the received signals are outputted to the reception side data terminal in units of blocks. When the sub-block is re-transmitted, the re-transmitted sub-block is set in the appropriate position on the reception signal matrix and the error detection code checking is carried out again by using at least one of the first and second error detection codes CRC1 and CRC2, and the normal reception processing or the re-transmission request is carried out as in the above.
Thus, in this ARQ data transmission scheme using two dimensionally attached error detection codes, the size of the unit for transmission can be reduced without increasing the number of error detection codes. However, even in this ARQ scheme, the ARQ control data is attached to every sub-block which is a unit of re-transmission.
In general, in the ARQ data transmission scheme, the throughput can be improved by reducing the size of the unit of re-transmission, if the overhead due to the ARQ control data, the error detection codes, etc. is ignored.
However, in the conventional simple ARQ scheme, as the ARQ control data is to be attached to each unit of re-transmission, when the size of the unit of re-transmission is reduced, the overhead due to the ARQ control data becomes relatively large, and the throughput can be rather deteriorated because of this overhead due to the ARQ control data.